package com.boot.mgt.service

import com.boot.core.result.ResultTo
import com.boot.mgt.model.OracleTAcdFile
import com.boot.mgt.model.TaAccident
import com.boot.mgt.model.vo.EditReportVo
import com.googlecode.jsonrpc4j.JsonRpcService
import java.util.*

@JsonRpcService("accidentReport")
interface TaAccidentReportService {

    fun list(page_index: Int?, page_size: Int?, map: MutableMap<String, Any>): ResultTo

    fun listRpc(page_index: Int?, page_size: Int?, map: MutableMap<String, Any>): ResultTo

    fun detail(id: Int, isApp: Boolean): ResultTo

    fun detailRpc(id: Int): ResultTo

    fun edit(editReportVo: EditReportVo): ResultTo

    fun selectForIdMax(): ResultTo

    fun selectForwardLog(accident_report_id: Int): ResultTo

    fun ccOperation(accident_report_id: Int, cc_operation_type: String): ResultTo

    fun correlation(date: String, oracleTAcdFiles: List<OracleTAcdFile>): ResultTo

    fun checkCorrelation(reportId: Int, oracleTAcdFile: OracleTAcdFile): ResultTo

    fun selectOracleBySgbh(sgbh: String): OracleTAcdFile

    fun selectOracleCorrelation(date: String): List<OracleTAcdFile>

    fun selectOracleCorrelationRpc(date: String, org_num: String?): ResultTo

    fun correlationDate(occurTime: Date): String

    fun selectAccidentByReportId(reportId: Int): TaAccident

    /**
     * 接警中数据列表
     */
    fun searchCasesAcceptedActioningList(): List<Any?>?

    /**
     * 勘察中数据列表
     */
    fun searchCasesSurveyingList(): List<Any?>?

    /**
     * 事故分布数据列表
     */
    fun searchTrafficDistributionList(map: Map<String, Any>?): List<Any?>?

}